This specification relates to techniques for performing copy operations within memory asynchronously.
During execution of a software application, a processor may need to frequently copy or move data within memory. For example, networking stacks may move data within memory from a user buffer at first location to a network buffer at a second location accessible by a network interface in order to send the data. Software applications may also perform explicit copying of data within memory from one location to another. When a large amount of data is copied, processing delays may occur if execution of the processor blocks while waiting for the copy operation to complete.